草庐IT

c++ - 值初始化枚举的行为

全部标签

ruby - 点击服务器错误 `<module:Templates>':未初始化常量 Tilt::CompileSite (NameError)

我正在尝试将我的sqlite3数据库迁移到postgresql,但我无法通过此错误。当我运行tapsserversqlite://db/development.sqlite3[user][password]我不断收到/Users/phillipjarrar/.rbenv/versions/2.2.3/lib/ruby/gems/2.2.0/gems/sinatra-1.0/lib/sinatra/base.rb:298:in:uninitializedconstantTilt::CompileSite(NameError) 最佳答案

ruby - 枚举器的魔力#feed

有这个Enumerator#feedmethod,我偶然发现的。它被定义为:feedobj→nilSetsthevaluetobereturnedbythenextyieldinsidee.Ifthevalueisnotset,theyieldreturnsnil.Thisvalueisclearedafterbeingyielded.我研究了示例并认为»Yay!«,这应该可以使用feed:enum=['cat','bird','goat'].each#createsanenumeratorenum.next#=>'cat'enum.feed'dog'enum.next#=>retur

ruby-on-rails - 如何在 Rails 3.1 中复制 class_inheritable_accessor 的行为?

从Rails3.1开始,class_inheritable_accessor产生弃用警告,告诉我改用class_attribute。但是class_attribute以一种重要的方式表现不同,我将展示这一点。class_inheritable_attribute的典型用途是演示者类,如下所示:modulePresenterclassBaseclass_inheritable_accessor:presentedself.presented={}defself.presents(*types)types_and_classes=types.extract_options!types.ea

ruby - 为什么我不应该扩展由 Struct.new 初始化的实例?

我们有一个遗留代码库,其中rubocop报告了一些我永远无法理解的错误:Don'textendaninstanceinitializedbyStruct.new.Extendingitintroducesasuperfluousclasslevelandmayalsointroduceweirderrorsifthefileisrequiredmultipletimes.究竟什么是“多余的类级别”,可能会引入什么样的“怪异错误”?(问是因为显然我们在过去几年没有遇到过任何此类问题。) 最佳答案 Struct.new创建一个匿名类,它

ruby - Emacs ruby​​ 模式缩进行为

classFooattr_accessor:a,:time,#mssinceepoch:b,:cend在文本模式下,'a'之后列出的变量将如上所示缩进,但在ruby​​模式下,它们将与'attr_accessor'齐平。在这种情况下,如何让ruby​​模式像文本模式一样缩进?请注意,除了所有其他ruby​​-mode.el缩进规则之外,我希望能够选择整个文件并点击c-m-\以获得上述缩进。 最佳答案 这种技巧应该适用于大多数情况。(defadviceruby-indent-line(afterline-up-argsactivate

ruby - 在初始化时使用 attr_accessor 设置 ruby​​ 2.0 关键字参数

我怎样才能动态设置而不用写相同的代码。现在的代码是这样的:definitialize(keywords:keywords,title:title,url:url,adsetting:adsetting)self.keywords=keywordsself.title=titleself.url=urlself.adsetting=adsettingend如果列表变长,这很快就会失控。在ruby​​1.9中,我只需将哈希传递给该方法。像这样:definitialize(args)args.eachdo|k,v|instance_variable_set("@#{k}",v)unlessv

ruby - 在 Ruby 中使用 to_enum 创建可枚举对象有什么好处?

为什么要在Ruby中使用to_enum方法而不是直接使用对象来创建对对象的代理引用?我想不出任何实际用途,试图理解这个概念以及有人可能会在哪里使用它,但我看到的所有例子似乎都很微不足道。例如,为什么使用:"hello".enum_for(:each_char).map{|c|c.succ}代替"hello".each_char.map{|c|c.succ}我知道这是一个非常简单的例子,有人有任何现实世界的例子吗? 最佳答案 如果没有提供block,大多数接受block的内置方法将返回一个枚举器(如示例中的String#each_ch

ruby - Ruby 中的 DRY'er 对象初始化

在ruby​​中是否有更“干”的方式来执行以下操作?#!/usr/bin/envrubyclassVolumeattr_accessor:name,:size,:type,:owner,:date_created,:date_modified,:iscsi_target,:iscsi_portalSYSTEM=0DATA=1definitialize(args={:type=>SYSTEM})@name=args[:name]@size=args[:size]@type=args[:type]@owner=args[:owner]@iscsi_target=args[:iscsi_ta

ruby-on-rails - 如何处理 Rails 4 中的枚举值

所以我的数据库中有一个subscription表。我想要一个state列,其中包含以下任一值ValidInvalidCancelledInTrialNonRenewingFuture有人可以解释如何在Rails4中将这些值用作枚举值吗? 最佳答案 归功于:https://hackhands.com/ruby-on-enums-queries-and-rails-4-1/声明一个枚举属性,其中值映射到数据库中的整数,但可以按名称查询。示例:classConversationtrueconversation.status#=>"acti

ruby-on-rails - 为什么在运行 webrick 服务器时出现未初始化常量设计名称错误?

在我的应用程序中,我使用了ruby​​1.9.2和rails3.0.3,并且还安装了Devisegem。当我运行Webrick服务器时,问题就开始了,我得到了未初始化的常量Devise名称错误。/home/app/Workspace/project/Library_Management/Library_Management/config/initializers/devise.rb:3:in`':uninitializedconstantDevise(NameError)from/home/app/.rvm/gems/ruby-1.9.2-p180/gems/railties-3.0.